I heard Sonic generations hates Omega dirvers, Get a nvidia taht should fix your problem. IF that doesn't works or you got no money try this steps
A Virtual graphics card would work in your case, but i don't recommend it.
Install Latest Visual c++ and get The latest .netframework running.
Get the lastest Direct X and see if that works.
Get a factory reset if all fails( I DO NOT RECOMMEND THIS)
How come you dont reccomend a virtual graphics card? Will it screw up anything?
EDIT: Oh, and I did a Google search and found this
http://whiteopal.wor...-graphics-card/
What about 3D Analyzer?
The reason why i don't recommend a Virtual graphics card because it has a chance of bricking your dam computer.( This only happens if you try to play very high demanding games when you don't have enough Mb) Meanings, that if you cheat your computer to say you got a 2Gb bla bla card when you only have 512 mb, you screwed big time...
3d Analyzer can be used but you will need LOADS of ram, + Using ram as a Graphic card will mean POOR performance, and it takes up lots of Processing power which you computer simply does not have, well a quad core yes it will do, but Sonic Generations is not a light game. You will be playing with half baked graphics and lag.
But Hey i'm not stopping you. If you know the limits of your computer then go ahead. It's not that bad as I say it is though,
EDIT: I Checked your computer specs and Realise it's Not that bad for a laptop, and i guess it can run Sonic generations without that much Lag Or anything. But it's up to you.