Could be a sensor perhaps, have you had it scanned for any logged faults? Sometimes minor one's don't flag up an engine check light. Also, have you ever had the plugs changed, could be related if they are still original. First check for faults I'd say, to avoid chucking money at chasing an issue.