Lambda, knock or MAP/air temp (dual sensor) would be first on my checklist. Then could be coilpack, TPS, fuel pump / regulator failure, ecu fault etc etc. Could even be something as daft as the fuel filter being clogged. As jonny says, try the lambda first by disconnecting it and hopefully it'll just be that. If it doesnt cure the problem, get the CEL code checked and go from there.