I've found everyone is arguing one of the two and most of the contentions between people come from when they don't realize they are arguing two very different questions.
Now I'll try to take a stab at the two questions. As "Can anyone learn to program?" is a requisite for "Can anyone be a good programmer?" I'll start with that question first.
Can anyone learn to program? : I don't know and I'm willing to venture a guess that no one on this forum really know either, regardless of how sure they may think they are. I venture to say, though, that I do think the vast majority of people can learn/be taught to program given the right instruction, motivation, and time. I'd recommend the following post on Ars. I think it provides a good example that the right instruction is crucial.
Obviously, some people are going to find programming more natural than others. For me, learning programming came very easy. Writing did/does not. Other people are the exact opposite. Does this mean that I can never learn to be an ok writer. I tend not to think so and I believe the reverse is true for people who are not naturally gifted for programming. What it does mean, at least to me, is that they have to learn to think in a new way (admittedly not easy, but it is possible). The real question then is how much effort will it take, does the person have the motivation to do it, and is it a worthwhile venture. I'll leave these to somebody else to answer.
Next, can anyone be a good programmer? This is really more of an extreme version of the other question. I'll hold to what I said with the previous question that most people could. However, the issue of whether it is worthwhile to spend the amount of time to develop the skills to become proficient is even valid. I suspect the answer is no. While I'm a believer in developing a range of talents, I also believe that being productive in society means that one needs to hone their skills in an area to become as good as they could possibly be. It seems natural then that the area in which one attempts to excel in is in an area that they are naturally gifted in to begin with. The person could then progress much further and the initial learning curve and potentially the later learning curve is much less steep for them. Lastly, one additional question: can anyone become an amazing programmer? To this I would have to say almost always no. This is akin to saying, "Can anyone become a DaVinci, a chess grandmaster, or an elite athlete?" Reaching the pinnacle of an area requires both dedication and natural ability. Even most programmers will never reach such a level that they can see any problem and quickly come up with an elegant solution for it. This is at the far end of the ability scale and for someone who isn't naturally adept at programming, and asking them to figuratively carve David.
Just my 3 cents.