Is it possible to retrieve all the infinite addresses of a HD wallet from just its parent public key?
According to https://en.bitcoin.it/wiki/Deterministic_wallet
Master public key
Certain types of deterministic wallet (BIP0032, Armory, Coinkite and Coinb.in ) additionally allow for the complete separation of private and public key creation for greater security and convenience. In this model a server can be set up to only know the Master Public Key (MPK) of a particular deterministic wallet. This allows the server to create as many public keys as is necessary for receiving funds, but a compromise of the MPK will not allow an attacker to spend from the wallet.
So yes, if that is correct, with a BIP32 wallet you can create all the HD addresses from the master public key. The method is explained a little in BIP32.
There is a complication from choice of hardened or non-hardened keys etc. See ELI5: What's the difference between a child-key and a hardened child-key in BIP32