For anything that is more complex than a statically linked hello world, the answer is **probably no**. 
Without testing it on distribution X, assume the answer *is* no for X.

If you want to ship your software in binary form, restrict yourself to

- a few popular distributions for the field of use of your software (desktop, server, embedded, ...)

- the latest version of each

Otherwise you end up with houndreds of distribution of all sizes, versions and ages (ten year old distribution are still in use *and* supported).

Test for those. Just a few pointer on what can (and will) go wrong otherwise:

- The package of a tool/library you need is named differently across distributions and even versions of the same distribution

- The libraries you need are too new or too old (wrong version). Don't assume just because your program can link, it links with the right library.

- The same library (file on disk) is differently named on different distributions, making linking impossible

- 32bit on 64bit: some non-essential 32bit library is moved into an extra package apart from the 32on64 environment, so you have an extra dependency just for this case.

- Shell: don't assume your version of Bash. Don't assume even Bash.

- Tools: don't assume some non POSIX command line tool exists anywhere.

- Tools: don't assume the tool recognizes an option just because the GNU version of your distro does.

- Java: are you really sure your program runs on IBM's JRE as shipped with SLES without testing it?

Bonus:

- Instruction sets: binary compiled on your machine does not run on older hardware.