It could be due to a faulty crank position sensor. Overtime the heat and vibration from the engine can make the crank sensor loose its internal calibration. This can trigger intermittent starting issue. Usually it will progress to no start at all.
The Crankshaft Position Sensor is located on the front lower engine area, behind the harmonic balancer.