If it is a General Motors product, suspect the coil pack, aka "Distributorless Ignition System Module." You can diagnose erratic spark with an inductive timing light. Light will flicker and have random periods when it's off. Check on plug wires to every cylinder.
Misfire is random, so there is no dead cylinder code. But it will throw codes like crazy for ERG and O2 systems due to raw fuel in the exhaust. Since it's random, there will be no fouled plugs to show you a "smoking gun."