Have you checked for ECU codes? The ICM (igntion control module) can cause this problem and usually throws a code 21.This basically a power transistor that gets the signal from the ECU which controls and amplifies current to the primary side of the coil. It is usually located on the bottom of the coil mounting bracket. The ICM component test in my factory manual is wrong, but you can use a you use a basic power transistor test. I don't have this off hand, but if I come across it I will post back.
You can do a quick ICM test by unplugging the connector to the botton of the coil and connecting a 12v test light or a multimeter at the output connections to the coil and crank the engine. The test light should light and/or get about 12V. Make sure you pull fuel injector fuse to prevent fuel to the cylinder during cranking.