+1 on coil packs
Check the knock sensor harness: I was getting a P0172 and P0175 at random for a few weeks starting back in October. I would reset it with success for a day and sometimes a few weeks. Sometimes it even cleared itself. Then while washing it and the underside one day I got a P0327, knock sensor #1 low voltage. I found out from the factory there is a small gap without a seal between the block valley and the intake manifold, allowing water come weep in over time and not leave. This degrades the knock sensor (factory has no rubber seals or caps) and corrodes it. In my case, it was little enough at first to not let the ECM recognize a bad knock sensor, but instead used the data from knock sensor 1 to add more fuel, thus causing a running rich condition.
While my situation let to some different results, I would still check the harness for the knock sensors, the plug wires, plugs, and coils. connects are always a quick, cheap, easy fix.
I'm curious what your scanner will come in for a code. If you get a single cylinder, I would swap one component at a time and see if it follows.
Hope this helps,
Chris