Speech is a chain of sounds, every sound has influence on its neighbour sounds, if you say isolated words they will have certain pronunciation, but if you put them in context, i.e., in a phrase, they will change a bit. Speaking words is not writing words, if you speak separating the words to make them distinct, you will sound like a robot, in any language.
All that being said, it helps a lot if you know the phonetic representation of sounds and how they should be pronounced, for instance,
spelling |
phonetic |
voy (Spanish) |
βɵj |
boy (English) |
bɔj |
See: IPA Chart With Sounds
So, answering your question, both pronounciations are correct, voy will have a j sound at the end when pronounced isolated or at the end of a phrase, and it will have a y pronounciation when followed by a vowel, and it will have a kind of nasal pronounciation when followed by an m, n or ñ, as in voy mañana