Are you using clip-planes and mixing with any pass not using clip-planes (for instance ambient pass)? If so, then you’ll indeed get z-fighting due to the clip-plane implementation creating new geometry and you’ll need a depth bias for that pass.
Try not using polygon offset and draw polygons exactly in the same place in all passes. If you pass exactly the same vertex coordinates in second pass you should get exactly the same fragment depths.
This is true for stencil shadows or shadowmaps when you draw the same geometry multiple times. If you just render shadows as polygons placed on walls then you do need polygon offset.