The term "soul", despite being widely used, isn't well defined in 5e. Do all living creatures have souls, or having a soul is a characteristic of specific types of creatures?
The only hint I've found so far was from the Mordenkainen's Tome of Foes:
A nabassu can eat the soul of a creature it has killed within the last hour, provided that creature is neither a construct nor an undead.
This implies constructs and undead either do not have souls, or have a specific kind of "unedible" soul.
Related question: Does an intelligent undead have a soul in 5e D&D?
Also inspired by this question: Where does an unaligned creature's soul go after death?
Best Answer
All living creatures appear to have a soul.
According to Dungeon Master's Guide p.24, "Bringing Back the Dead":
This strongly suggests that all living creatures, at least, have a soul.
It's more ambiguous for non-living creatures, at least in 5e lore. Undead are the only creature type who cannot be raised with raise dead, a spell which restores the soul to its body. However, as mentioned in Does an intelligent undead have a soul in 5e D&D?, it varies by type of undead whether they have souls.