Does the system seem to otherwise boot normally and run?
The file “/dev/video0” is the responsibility of a driver. Many files with special purpose use (those in “/dev”, “/proc”, or “/sys”) are not real files at all, but are instead a direct communications with a driver (produced by the driver itself and not existing on hard drive). The driver itself will produce different “/dev/video#” files depending on what cameras it sees attached whereby the driver is the right one for that camera.
So there are usually two related ways this can go wrong. One is that different drivers for different camera formats may actually produce a different file in “/dev”, and so if the driver is the wrong format, and yet running normally, you would access the camera using a different device special file (there would be a file, but the name wouldn’t be what you expect). The other issue is that a driver which is intended to create a “/dev/video0” file may not create that file at all unless it actually sees the camera and is able to initialize.
What kind of camera is it? How does the camera connect, e.g., USB versus a CSI MIPI camera?