"Programming" as a technique of problem solving can be taught and learnt by anybody just like Mathematics. Now whether they will become good at it depends on various other characteristics like Interest, Aptitude, Effort and Persistence. There is no inherent limiting factor since it is a function of "General Intelligence" which all of us "Normal" folks are imbued with.