Have you tried to pull any codes from computer? I would think that it would have stored some fault codes when you lost spark. An itermitant electrical problem with your wiring or the crank sensor circuit. Maybe a faulty relay acting up as well. Sometimes it can cost you more money trying to find the problem, it might be worth it to leave it with a shop for a few days until it happens again. You really need to explain what is happening, that it runs fine and every now and then looses the spark and wont start.These kind of problems might be better left to a shop with diagnostic ability. Nothing like going out to go to work, only to find thats when it wont start. You have no way of hooking up to any scanner when its not starting...so you might waste more money trying to find the problem. Nothing wrong doing your own repairs if you can pin point the problem, but some problems need diagnostic equipment.