Can I make the source available only to those who bought the software?
Yes. There are no (open-source) licenses that require you to provide the source code to just anybody. The most that is required is that you provide the source code to those people that have obtained a legitimate copy of the software itself.
Can the customers give the source code to anybody? Will this happen?
One of the universal rights that an open-source license grants is the right to redistribute copies of the software that is covered by the license. And an open-source license can't put restrictions on such redistribution, such as a minimum price that must be paid.
So, if you sell software that is under an open-source license, then your customers automatically get the right to redistribute that software and to do so at a lower price that what you charge.
If the software package proves to be popular, then there will almost certainly be people who take advantage of that right.
Now, if your software package uses a library with a copyleft license (for example, the GPL), then your entire software package must be made available under an open-source license. This does not forbid selling the software, but it makes the business case for doing so very weak as each of your customers can undercut your price.