There's nothing that detects whether the plugs are actually igniting the mix evenly, it is inferred from the acceleration that the crankshaft undergoes each time a cylinder fires. There's plenty of things that can cause uneven firing - vacuum leaks, variations in mixture, uneven fuel pressure, though anything like, say, low compression will soon be resolved to particular cylinders.
As for low oil level - maybe if the engine is on the verge of seizing? I'd look elsewhere before assuming that so long as the engine isn't making odd noises.
Misfire Detection Monitor
The misfire detection monitor runs during normal engine operating and driving conditions, and is used by the PCM to determine whether the engine is malfunctioning to the point where it is releasing excess pollutants into the atmosphere. The OBD II system detects misfires on most vehicles by monitoring variations in the speed of the crankshaft through the crankshaft position sensor.
A single misfire will cause a subtle change in the speed of the crank. The PCM tracks each misfire, adding them up and averaging them over time to determine if the rate of misfire is high enough to cause the vehicle to exceed the federal emissions limit. Whenever crankshaft rotational velocity varies by just 2 percent, one or more misfire codes are stored in the memory of the PCM. If this happens on two consecutive trips, the check engine light will be commanded on to alert the vehicle operator that a misfire problem is occurring. If the misfire causes the crankshaft speed to vary by more than 10 percent, the check engine light flashes two times a second to warn the vehicle operator that a severe, catalytic converter damaging misfire condition is occurring.
When the misfire detection monitor detects a misfire, the check engine light will flash as the misfire is occurring. But the light will not remain on the first time a misfire problem is detected. It will come on only if the misfire continues during a second drive cycle and will set a P0300 series code.
A P0300 code would indicate a random misfire (probably due to a vacuum leak, open EGR valve, etc.). If the last digit is a number other than zero, it corresponds to the cylinder number that is misfiring. A misfire code P0301, for example, would indicate a misfire problem in cylinder #1. Of course, misfires can be caused by a lot of things. It could be a worn or fouled spark plug, a weak coil, a bad plug wire, a dirty or dead fuel injector, or a loss of compression (burned exhaust valve or leaky head gasket). Further diagnosis is always needed to isolate and identify the root cause.