Speaking during a debate on the general election in Scotland and the country's constitutional future, he told the Commons: "Let me deal with this question of 'once in a generation', this mantra.
"The Prime Minister has repeated this ad nauseum over the last 12 months and in some of the iterations in which he speaks you would think that those words were on the ballot paper on September 18, 2014.
"I accept that the phrase 'once in a generation' was part of the debate, but let us at least be honest with each other about the context in which that was said. It was said invariably by those who were proposing a Yes vote for independence as a caution to their supporters that they might not get another chance.
"It was not made as a promise or qualification to those who opposed independence that it was going to go away forever."
Making an intervention, Labour MP Christian Matheson (City of Chester) said: "This is all well and good (Mr Sheppard) trying to explain away this phrase 'once in a generation'. Here's the point, it wasn't us that said it, it wasn't even the Tories that said it, it was the SNP that said it."
Mr Sheppard added that people in Scotland will want to know what the reaction of Westminster would be if they decide that they want a vote on Scottish independence.
He told MPs: "I don't take anything for granted. The campaign hasn't started, not a single vote has been cast and I don't take anyone's vote for granted. We will be arguing right until 10 o'clock on polling day on this.
"But I think people will want to know what would be the reaction of this Parliament here in Westminster if they were to take a decision saying they wanted to have that choice again."
Reporting by PA