Many video chipset have configuration parameters for the bus interface, for example to configure the amount of waitstates. These parameters work differently depending on what bus the chip is connected to. It is quite usual to that the initialization code in the video BIOS needs to perform different steps depending on the bus type. On the other hand, having less variants of a video BIOS makes version management easier for the chip manufacturer, so it is quite common to see "universal BIOSes" that detect the bus type and initalize the chip accordingly.
Another challenge is that the bus interface of older video chips often isn't "glueless", i.e. you need some interface chips between the actual bus and the video chip. Sometimes, the correct initialization depends on how the glue logic is implemented on the video card, and customizations like this which are performed by the card vendor might tie a specific BIOS variant to a certain card, so it fails to work on other cards with the same chipset.
As video cards got higher integrated over time, there are less variations between cards, so for AGP/PCIe, I expect most BIOSes to work universally. Nevertheless, a BIOS for a "overclocked by vendor" card will likely try to apply the same overclocking if placed on a different card, which might fail to work.