The play cost the Steelers six points in the biggest game of the year, a 27-24 loss to the New England Patriots.
"It sucks, honestly. That was a b---- a-- call by the refs," said wide receiver JuJu Smith-Schuster, whose 69-yard catch in the final minute set up the James play. "I feel like he had ball control, he was in. In a game like that, when you go down and you finish the game like that, and then -- boom -- momentum, and the next thing you know [the referee] said he didn't have control of the ball. Nobody touched him."
The Steelers thought they had taken a three-point lead with 28 seconds left when James' play over the middle became an incompletion. The Steelers then drove to the 7-yard line and, with 9 seconds left, quarterback Ben Roethlisberger snapped the ball and threw an interception to safety Duron Harmon on a fake-spike play.
James said he didn't get an explanation on the call but thought there was no doubt he recorded a reception.
"We were inside of two minutes and in order to have a completed pass, a receiver must survive going to the ground," game official Tony Corrente said afterward. "In this case, he had control of the football but he was going to the ground. As he hit the ground, the ball began to roll and rotate and the ball hit the ground, and that's the end of it at that point."
Corrente added that to "survive going to the ground" means the same as to "maintain control of the football."
Whether the knee being down mattered, Corrente added: "He lost complete control of the football. That was the ruling out of replay."
In a video released after the game, NFL head of officiating Al Riveron said: "[James] loses control of the football, and the ball touches the ground prior to him regaining control. Therefore, the ruling on the field of a touchdown was changed to an incomplete pass."
— NFL Football Operations (@NFLFootballOps) December 18, 2017
The explanations would probably not sway James' thoughts on his potential game-winning score.
"I'm sick about it. I'll be thinking about this the rest of the night," James said. "I had my knee down, turned up the field. Whether they consider that a football move or not is up to them to decide. I guess I don't know a lot of things about football. I thought it was a touchdown for sure."
The Steelers didn't have calls go their way most of the night, producing six penalties for 63 yards compared to the Patriots' two penalties for four yards.
When asked about the play, Patriots coach Bill Belichick said, "I thought the ball moved."
A sentiment shared by some of the defensive players for New England.
"I know it's always hard to know when you hit the ground, is it a catch, no catch," Patriots safety Devin McCourty said. "When you see it's kind of like his hands weren't under it; obviously I'm a little biased, so I thought it was no catch."
Patriots cornerback Eric Rowe added: "Once I saw the replay, I did see the ball move. I wasn't too sure. It could have went either way. I am obviously glad it went our way."
The controversy soured the return to Heinz Field for Steelers linebacker Ryan Shazier, who made an emotional surprise appearance Sunday after undergoing spinal stabilization surgery last week. Shazier tweeted his frustration over the call afterward.
Most of the Steelers took a measured approach to the controversial call. Steelers coach Mike Tomlin said it doesn't matter what he thinks and won't "cry over spilt milk and all of that crap."
Guard David DeCastro said he has feelings about the play but doesn't want to be fined.
"They called good on the field, thought it'd be tough to overturn," DeCastro said. "I don't know [what a catch is anymore]. I don't. It's tough, man, especially when it's called like that on the field. Tough spot. I understand it's tough for them. I'm not criticizing them, I'm just saying it's a tough way to lose."