Developers, you are the last line of defense
blog.nahurst.com
blog.nahurst.com
Only in a company where developers ARE the product team and are a part of the decision making process can they trully be considered the last line of defense. In the scenario painted in the OP, the developer has not been empowered to play defense, and if they do so by not coding the feature they risk becoming unemployed.
I don't think you'll find a soul here that wouldn't sympathize with a developer in that position, and I definitely would not want to be placed in that kind of a situation, but it does exist and is quite the norm outside of the startup world.
That is exactly why many development jobs should be outsourced. Many developers understand little beyond writing code.
http://en.wikipedia.org/wiki/Diffusion_of_responsibility
If a product turns out bad, it is the fault of each person who could have prevented that, but didn't. This is splitting hairs, but I think this is a psychologically important hair to split. Conversely, if you do your part properly, that's something to be personally proud of no matter what the outcome.