Nottingham Forest's Callum Hudson-Odoi scored a late winner to defeat Manchester City 1-0, impacting City's Champions League hopes.