I do notice that there aren't many big cities in Virginia, but then this does raise the question of why there aren't many major cities in the state.
Seeing that nobody else has answered, and I grew up in Virginia, I'll take a crack at this.
TL;DR: Early Virginia had a large population compared to the rest of the colonies due to a large rural population, but geography and competition has inhibited the growth of cities that led to the growth of other states.
So, Virginia. The first colony, and as you say the most populous of the colonies at the time of independence. The first important thing to look at here is the geography of the commonwealth in question. Virginia in its modern form roughly covers an area between the Chesapeake Bay and the Appalachian mountains, including a portion of the Eastern Shore/Delmarva Peninsula. The western part of the state is dominated by the Blue Ridge mountains, while lead to the hilly Piedmont region until reaching the Fall Line, which runs through the state approximately at I-95, thus passing through Richmond, Petersburg, and Washington DC/Alexandria. All these cities sit on major rivers. From there the state is dominated by coastal lowlands and rivers which lead into the Chesapeake Bay, which is known as the Tidewater region. The major urban agglomeration in this region is the Hampton Roads area, a collection of several cities such as Norfolk, Virginia Beach, and Newport News, all centered around a large natural harbor where the James River meets the Chesapeake and almost immediately empties into the Atlantic. The population is thus distributed throughout the state but concentrated in the aforementioned urban areas; the only real city aside from these is Roanoke, which is nestled into a gap in Blue Ridge mountains in the western part of the state. The largest city is Virginia Beach; however, this is kind of an artifact of Virginia's unique county-level organization; the state has "independent cities" that are equal to county-level governments, and thus separates urban areas from the surrounding counties. However, several of the independent cities in Hampton Roads, such as Virginia Beach and Chesapeake, absorbed the surrounding county when they were created, so they cover a large area which allows them to have a comparatively large population. It's better, therefore, to look at the metropolitan areas- the Northern Virginia counties, in the DC suburbs, have a population of about 3 million, followed by Hampton Roads at 1.7 million and Richmond at 1.3 million. The remaining concentrations have populations in the low hundred-thousands, so the total state population comes out to 8 million.
What did this population look like at the time of independence? As it happens, Thomas Jefferson actually made a estimate of this: he estimates approximately 300 thousand free and 270 thousand enslaved. The assumptions he uses to calculate this are a little...janky; he apparently based his population off of tax surveys done in 1782; he assumes "those above and below 16 are nearly equal" (in population), and using estimates based off of unmarried militiamen to get his overall numbers from his source numbers of free men above 21 and (total) slaves. The census of 1790 gives a significantly larger number of (total) 750 thousand persons. Comparatively, Pennsylvania had a population of 433 thousand, North Carolina 395 thousand, Georgia 82 thousand, Massachusetts 378 thousand, and New York 340 thousand.
So what happened? Well, first, we should address the fact that Virginia did lose (some) population as it lost territory to Kentucky and then West Virginia. If we add those states to Virginia, per the 2010 census, Virginia would have a population of 14.2 million, placing it as the 5th most populous state, above Pennsylvania and Illinois. Kentucky and West Virginia weren't large populations at the time of their independence from Virginia; Kentucky had a population of approximately 70 thousand at the time of statehood and the counties that now make up West Virginia, approximately 50 thousand. So, while if Virginia were the same size as it were, it would have a comparatively high population, but the relative population of today's Virginia has decreased significantly, especially given that it held most of the population originally.
So, again, what happened? As you say: cities. Industrialization and urbanization has caused the growth of America's greatest cities, and while Washington D.C. is up there, Virginia itself really has none of the great cities. These cities were small at the time of independence; Boston had a population of 18320, New York 33131, Philadelphia 28522, and Baltimore 13503. Other modern large cities in the former Thirteen Colonies, such as Atlanta, Pittsburgh, and Raleigh, didn't actually exist yet as cities. However, Virginia's cities were already small at this time- Richmond and Norfolk had populations of a couple of thousand each, and the now-largest city of Virginia Beach didn't exist (previously being Princess Anne County). So, we can infer that the population at the time really wasn't dependent on cities- it was the rural population that really counted. As the United States developed, and industrialization began, we saw the growth of the large cities, especially New York, but also Boston, Philadelphia, and the newer cities of Atlanta and Pittsburgh. Remember, outside of the large cities, the other large states don't have high populations- Upstate New York has a population of 6.6 million, and is pretty rural outside of smaller cities like Albany and Buffalo. The same is true for Georgia outside of Atlanta, and the middle, Rust Belt areas of Pennsylvania sometimes known colloquially as Pennsyltucky. The question becomes, therefore, why didn't Virginia's cities grow?