Hello,
While Steve's way is the "canonical" way to do it in JUNOS, there is another, somewhat simpler one.
All You need to do is to force NH resolution for the /32 via network or broadcast address of overlapping /20:
set routing-options static route 172.16.5.55/32 next-hop 172.16.0.0 resolve
Then, when there is a /20 in the table, /32 will "float up" and You can redistribute it into a routing protocol of Your choice. If /20 is absent, then /32 will sink and disappear from the table.
Obviously , this would work only if You don't have a default (0/0) route.
If You do have one, then You'd need to prevent NH resolution via it which is extra 5-10 lines of config.
HTH
Thx
Alex