Depends what you mean by "last generation", I think that's a bit too open to interpretation hence we have the OP mentioning current active players like Benzema and then people replying with Shearer who retired over 17 years ago.
For my purposes I'll define "last generation" as meaning immediately prior to Messi/Ronaldo era (early-mid 00s), and say Thierry Henry whose prime was ~2003. Like I say though it's a bit open to intepretation, you could argue that R9 overlaps with Henry a lot and then pick his prime of late 90s and make an argument for it being him.