Had a same problem you describe. My starter would start fine one day and then nothing another day, so I had to carry a hammer with me to tap the starter if it happened. Had the starter checked and they said it was fine. However it still happened. what it turned out to be is that the starter had a "dead spot" where if was sitting in a certain position would not start. So I replaced the starter. Just another possibility...