Prodigal's protein translation routine translates any codons with an ambiguous character in them (N or some other ambiguous character) into X's. At some point, I may make the routine smart enough to handle single N's in codons where possible (i.e. if last base of a codon is ambiguous but irrelevant, etc.), but at the moment, even with a single N in a codon, it will translate that codon to X.
The only way to completely guarantee it won't happen is to preprocess the input and replace ambiguous characters with an A, C, T, or G. Prodigal v2 can mask long stretches of N's (50+bp, I believe) with the -m flag and won't include them in gene models. Prodigal v3 will have more complete gap/N-handling routines (it will treat any 2-3 consecutive codons with ambiguity in them as a gap in one of its modes).
regards,
doug