If you had three separate boards that you had chained together I would be surprised if one of them was wrong, but looking at the picture it looks like one board and I would think it was more likely that one display was incorrect.
I can't see your code, so I can't say if there is a bug in it or not. It is possible that you have done something unusual, you might want to post a MINIMAL example to let people give it the once over.
As far as I know there aren't any "configuration settings" on a Max7219 to cause the affect you are seeing. The fact that the 3rd display is correct implies that the tracks on the PCB are correct and its the IC that's got its wiring backwards, but that's a daft idea.
You might be able to work out if a track is wrong, or such like, but it would be so much easier to fix in software. When you write to the display add an extra function that traps calls to the middle segment and flips the digits round (so
tmp == digit; digit == digit; digit = tmp; // You know what I mean).