Here is a quote from a website about misfires and CE lights:

UNDERSTANDING DIAGNOSTIC TROUBLE CODES
A misfirewill cause the Check Engine Light to flash while the misfire is occurring. A misfire that occurs in a given cylinder will also set a P030X code where "X" will be the number of the cylinder that is misfiring. For example, a P0302 code would tell you cylinder number two is misfiring. But here's the important point: The code does not tell you why the cylinder is misfiring. You have to figure that out by performing other diagnostic tests. The misfire might be due to a fouled spark plug, a bad plug wire, a defective ignition coil in a DIS ignition system, a clogged or dead fuel injector or a loss of compression due to a leaky exhaust valve, leaky head gasket or worn cam lobe.

from this site

Bart