generally speaking the answer is no: you should generate every public address to check it's balance and the possible addresses are too many to be checked all.
in your case, if you remember the wallets where you imported the keys, you can only check the derivation paths used by them.
even the addresses that can be generated from the first branch of the derivation path are too many to check them all, the wallets usually stop generating public keys to be checked when they find a certain number (which varies depending on the wallet, usually a few thousand) of unused addresses in a row.
so in case you have large blocks of unused addresses among the addresses used, you can't even trust the automatic wallet balance check for it's specific derivation path, but you should generate other addresses on your own to verify their balance.
this is a very rare case that hardly occurs in real life, but it is good to know anyway.