Partially clogged injector, coil pack not mating cleanly with sparkplug, dodgy/worn sparkplug, low compression, loose/intermittant connections to coil packs/injectors, poor signals from lambda sensor. The last one should in theory of generated a fault code on the diagnostics but the others would'nt unless it caused a big enough missfire to be picked up by the "Knock sensor" and then that would generate a code.
nigel
November 2011