Older 20 gauge 870s (serial numbers end in X for 2 3/4" chambers/frames and N for 3" chambers/frames) were full size receivers, same as the 12 gauge guns. Barrels for newer 20 ga. 870s won't fit them, but 12 gauge stocks will.
For current 20 gauge 870s, only 20 ga. stocks will fit- but new production 20 gauge barrels will fit, though. Serial numbers for current 20 gauge 870s built on 20 gauge frames end in K (2 3/4") or U (3").
Keep up with the 20 gauge 870 receiver codes (the last letter in the serial number) and you can tell what's what...
hth,
lpl