Man of Steel star Cavill auditioned for the 007 role in 2005, eventually losing out to Daniel Craig. Campbell told The Express that Craig had the edge thanks to his turn as a gangster in Layer Cake.
"Henry did a great screen test for Bond. So did Daniel, although he arrived for his looking really tired after a night flight from America where he was finishing up a movie called The Invasion," Campbell said.
"None of us making the casting decision were 100% sure. I needed a couple of days to think about it. Over that weekend I saw Daniel's film Layer Cake and he showed such terrific charm in that that it convinced me he should get the part."
Campbell suggested that Cavill could follow in the footsteps of Pierce Brosnan, who screen tested to play Bond for The Living Daylights but lost the role to Timothy Dalton when his TV series Remington Steele was renewed.
"Perhaps Henry Cavill was too young for it then, he was 22 at the time we auditioned for Casino Royale, but maybe he could still be James Bond in the future," he said. "After all, Pierce Brosnan did a great screen test only to eventually get the part years later."
The new James Bond movie Skyfall will open in cinemas this October. A 'Designing 007 - Fifty Years of Bond Style' exhibition is currently running at London's Barbican Centre through September 5.
Watch the Skyfall trailer below: