It could be a number of things causing this. I recently had the same thing and it turned out that my oil breathers were blocked and oil level was too high...which cost nothing to do but the diagnostics told it me it was a lot of things....which it wasn't and cost me over £600.00 in parts when in reality the fix cost nothing.
Have a diagnostics done on the car anyway but do not take it as "read" that any faults that it comes up with are the real problem. A good garage should be able to test most of the parts...coils packs, leads, plugs, MAF sensor etc' without having to shell out money for parts you may not need.
Keith