McCain wurde beim NFL Draft 2011 von den Houston Texans in der sechsten Runde als insgesamt 188. ausgewählt. Er schaffte es ins Team und bereits in seiner Rookie-Saison lief er in allen Partien auf. Auch in den kommenden Spielzeiten kam er regelmäßig zum Einsatz, allerdings nur selten als Starter. 2011 gelang ihm im Spiel gegen die Tennessee Titans sein erster Touchdown.
Er wechselte zu den Pittsburgh Steelers, wo er einen Einjahresvertrag in der Höhe von 5,25 Millionen US-Dollar erhielt.[3] Im Spiel gegen die Jacksonville Jaguars konnte er den zweiten Touchdown seiner Karriere erzielen.
Miami Dolphins
2015 wurde er von den Miami Dolphins unter Vertrag genommen.[4] Er bestritt für das Team 14 Partien, elf davon als Starter.
Tennessee Titans
Im März 2016 unterschrieb er bei den Tennessee Titans einen Zweijahresvertrag in der Höhe von 5 Millionen US-Dollar.[5] Nach der Spielzeit 2017 wurde McCains Vertrag nicht mehr verlängert.[6]