When was it last serviced? Have you checked the air filter? If that is blocked and filthy the engine won't be able to breathe properly and the fuel won't be burning properly. Unburnt fuel deposits will cause the exhaust sensor to flag up a warning light on the dash and put the engine into limp mode.
Of course it could be something else but that's where I would start to look. When was it last serviced??? When did you last check the oil?
ChicksFan
May 2012