Despite the commented objection to the answer above from @robert winsly, he may have the right idea. It seems that your vocal track wasn't recorded at a constant tempo. In fact, unless it was specifically recorded against a click, it's almost certain its tempo varies. It IS possible to align a sequencer tempo map to such a recording, either manually, by entering individual tempo changes, or with some degree of automation - though I think you'll need a more advanced program than Garage Band for that. But think what you'll get. A continually-varying tempo map. When you program a beat over that, you'll just get what sounds like a drummer who can't keep time! Not a very good groove.
So you try the other way. Fool around with the vocal track to tweak it into a steady tempo. This will involve slicing it into chunks, moving and/or time-stretching each one to get it 'on the beat'. But however skilfully done, you'll hear the artefacts.
Much better to re-record the vocals to a click, or (better) to a dummy drum track. Though what you're asking for CAN be done, it's turd-polishing (you can polish a turd all you like, but you'll never get a good shine). Far too much of today's 'music production' involves turd-polishing, when a better (and easier) approach would be to go back and record it right in the first place.