Hagans played college football for the University of Virginia. He was originally recruited by Indiana University to replace Antwaan Randle El. However, Hagans enrolled for a year at Fork Union Military Academy after graduation from Hampton and subsequently decided to enroll at Virginia in the fall of 2001. He redshirted his true freshman year. Hagans replaced incumbent quarterback Matt Schaub during the first game of the 2002 season against Colorado State University. Hagans was named the starter for the following game against Florida State University but was replaced by Schaub, who went on to a breakout season. Hagans was primarily a wide receiver and kick returner for the remainder of 2002 and 2003, though he continued to receive limited playing time at quarterback. Hagans became the starting quarterback for the 2004 season after Schaub's graduation. In 2004, the Cavaliers started 5-0 and attained a #6 national ranking before losing at Florida State and finishing with a final record of 8-4 after losing to Fresno State in the MPC Computers Bowl. His most notable game at the University of Virginia was a 26-21 victory over #4 Florida State in 2005. In his final game, Hagans led the Cavaliers to a come from behind victory over Minnesota in the Music City Bowl to cap a 7-5 season. He graduated with a degree in anthropology.
Professional career
St. Louis Rams
Hagans was selected by the St. Louis Rams in the fifth round of the 2006 NFL Draft. In his rookie season he played in four games making eight receptions for 101 yards. Hagans was the emergency quarterback for the Rams. He was waived by the Rams on August 29, 2008.
Hagans was signed to the Kansas City Chiefs practice squad on September 1, 2008. He was then promoted to the 53-man roster and signed to a two-year contract on September 10. He was listed as the Chiefs "Emergency Quarterback" and played at QB for several trick plays against the Raiders. After linebackerWeston Dacus was promoted to the active roster, Hagans was waived on September 26 and re-signed to the practice squad two days later. He was released from the practice squad on October 22, 2008 after the team signed wide receiver Nate Hughes to the practice squad.
Indianapolis Colts
Hagans was signed to the practice squad of the Indianapolis Colts on November 19, 2008 only to be released on November 26.
Washington Redskins
Hagans was signed to the practice squad of the Washington Redskins on December 9, 2008. He was waived on August 30, 2009. Hagans was re-signed by the Redskins on April 19, 2010. He was released June 29, 2010.