Being pedantic I would, using modern terminology, define the question as meaning a town or city as being a local government district council or unitary authority and London as being Greater London or terminals therein. This in my opinion would rule out many of the answers given.
Speaking from my knowledge of the West Midlands area I would comment as follows
Walsall has regularly been quoted as the largest town in England without a direct rail link to London but this is planned to change.
West Bromwich has been mentioned but that is in Sandwell which has Stations in Smethwick, Rowley Regis. Langley Green and The Hawthorns as well as Sandwell and Dudley. all of which have trains to London. I think including the name of Dudley in the renaming of Oldbury (Bromford Lane) station as Sandwell and Dudley had more to do with local politics than geographical reality
Dudley has stations in Stourbridge, Cradley Heath, Lye, Old Hill. All with the exception of Stourbridge Town having at least one train per day from London
Redditch and Bromsgrove are two towns (and district councils) which have stations but not with a direct link to London