Uncertainties in GCT program
It depends what you count as "the GCT program." 


Consider the specific suggestion (GCT I, GCT II) to use the vanishing/nonvanishing of certain multiplicities in the orbit closures of the determinant and permanent to resolve the strong permanent versus determinant conjecture (i.e., that the permanent is not in the orbit closure of any polynomially larger determinant). In this case, it is possible that even if the conjecture is true, that this is not reflected in the vanishing/nonvanishing of multiplicities of irreps supported on these orbit closures. It is even possible that the conjecture is not reflected in the appropriate inequality of multiplicities. I should note that there are various forms of evidence that this shouldn't happen, but it has not yet been formally ruled out.


Note, however, that if instead of multiplicities you merely want a separating module, then the strong perm v det conjecture is true if and only if there exists a separating module.


If your goal is the original permanent versus determinant conjecture, there is an earlier step in GCT, namely (as pointed out by chazisop) moving to the strong perm v det conjecture by considering the orbit closures. It is conceivable that the original permanent versus determinant conjecture is true but the strong version is false. However, this seems highly unlikely to me. Also, if this is the situation, then none of our current methods can even come close to resolving the perm v det conjecture, since they all currently work for the "strong"/"approximative"/"border-"/Zariski-closed version of whatever algebraic complexity statement they are proving.
If your goal is not perm v det but Boolean $\mathsf{NP} \not\subseteq \mathsf{P/poly}$, there are additional claimed steps in GCT that have yet to be published. It is possible that one of these unpublished steps could fail as well, but obviously it is hard to comment on the details of mathematics one hasn't seen...
[Potential failures of lower bounds in general, not specific to GCT.] GCT is currently aimed at nonuniform lower bounds; that is, even in the GCT approach to Boolean lower bounds, it is aimed at showing $\mathsf{NP} \not\subseteq \mathsf{P/poly}$. But of course, it is consistent with current theorems that $\mathsf{P} \neq \mathsf{NP}$ yet $\mathsf{NP} \subseteq \mathsf{P/poly}$. Of course, it's also technically possible that $\mathsf{P} = \mathsf{NP}$ and the perm v det conjecture is false!


However, let me point out that the GCT program as it currently exists still seems to me like the first thing to try. If it turns out that any one of (1)-(3) above actually doesn't work, it will mean that the perm v det conjecture (and hence, $\mathsf{P}$ versus $\mathsf{NP}$) is almost unimaginably harder than we currently think it is. (It may be worth noting that this statement is coming from someone who already thinks that the following analogy may be roughly correct, if not inadequate: $\mathsf{P} \neq \mathsf{NP}$ is to our current state of knowledge as the Classification of Finite Simple Groups is to Fermat's Little Theorem). And even if that is the case, understanding the exact way in which the failure occurs will likely be important to making further progress.