General question about pursuing TCS
If TCS is something you enjoy, and you want to pursue a PhD, I wouldn't let the fear of failure stop you.  You can also mitigate some of the risk by enrolling in a program that awards you a Master's after a year or two -- that way, if you realize research isn't for you, you won't come out "empty-handed".  And if you don't succeed in landing a research job afterwards, as long as you enjoy grad school, it's not a big sunk cost.

To answer your question about "having what it takes" more directly -- I think you need to both have talent and put in the hard work to succeed.  My feeling is that most people who fail to get a PhD, however, fail not because they were not talented enough, but because they weren't disciplined enough.