The chances of user->pm->engineer communication introducing ambiguities or inaccuracies approaches 100%.
That's simply human nature and the nature of communication.
There's a reason why agile programming has stressed "on site user":
the programmers need to hear what the users are saying directly,
and the users need rapid feedback on what the programmer thinks vs what the user meant.