McGowan attended Lincoln High School in Jersey City, New Jersey, where he played football as a safety and running back. He was a defensive first-team All-County selection as a senior.
McGowan was a four-year letterwinner with the Maine Black Bears finishing his college career with 700 tackles, 7.5 sacks, 25 interceptions, 15 forced fumbles, and 15 fumble recoveries. He started 33 of the 34 games he played at Maine and was the team's Defensive Player of the Year and an All-Atlantic 10 Conference selection as a junior in 2003. He was also awarded the "Hammer Award" for being the Black Bears' best special teams player as a freshman in 2001.
McGowan went undrafted in the 2005 NFL Draft and signed a three-year deal with the Chicago Bears. McGowan was the only undrafted rookie to make the Bears' roster. During his rookie season, McGowan played in 16 games, starting the final three games of the season, and completed the year with 23 tackles and four special teams tackles. McGowan recorded a career-high eight tackles against the Pittsburgh Steelers on December 11.
McGowan missed the first seven games of the 2006 season after beginning the year on the team's Physically Unable to Perform list. He recorded two special teams tackles in his first game back against the Miami Dolphins before being placed on injured reserve with an Achilles injury the next day.
In 2007, McGowan replaced starting safety Adam Archuleta for most of the season and finished the year with 80 tackles and 2 interceptions. He also had a career-high 10 special teams tackles. However, McGowan lost out on the starting strong safety job to Kevin Payne during the 2008 preseason. On September 17, McGowan was placed on season-ending injured reserve with an ankle injury. In March 2009, McGowan became a free agent, after the Bears planned on using Payne as their starter for next year.
On May 5, 2009, McGowan signed with the New England Patriots. He began the season as a reserve behind starters Brandon Meriweather and James Sanders; however, before the opener, Belichick praised McGowan:
In Week 2, McGowan started over Sanders against the New York Jets, and continued to do so until Week 14. He played as a reserve to Sanders in the final four games of the season and the Patriots' playoff loss to the Baltimore Ravens. He finished the season with 79 tackles and three forced fumbles.
McGowan was placed on injured reserve by the Patriots on September 4, 2010, with a chest injury, ending his season. He was released by the Patriots on August 7, 2011.