I read today that water is a base because it can receive a proton when mixed with some acids. That got me thinking: is every single molecule capable of either donating or receiving a proton -- when mixed with just the right complementary molecule? Thus, is every molecule either a base or an acid to some degree?
In theory, any molecule that contains a H atom ("proton") can act as a Bronsted acid - it can donate that proton. How likely this is to happen is described by that proton's pKa value, the lower the value, the more likely this is to happen (the more stable the conjugate base that forms will be). You can look up pKa values for different types of proton on an inorganic or organic molecule by searching for pKa tables like this:
The pKa describes the degree to which that proton will dissociate in a solvent (normally water, but other solvents are sometimes used) and high values mean that this essentially doesn't happen, or only to a tiny extent (in the figure above, these are labelled as "not acidic"). However, a very strong base could abstract these protons, so the molecule could still act as an acid.
To act as a base, a molecule normally needs to possess a lone pair. The Bronsted definition of a base only requires a molecule to accept a proton, but a lone pair is generally required in order for this to happen.
The example in the figure above shows ammonia acting as a Bronsted base, using its lone pair to bond to a proton. Any lone pair could (potentially) do this, but some functional groups (such as amines) have more propensity to do this. The pKb value for the functional group will quantify this propensity.
Molecules often contain both protons to donate and lone pairs, so can act as Bronsted acids and/or bases.
Lewis acids and bases are defined slightly differently. The definition here involves the electron pair, rather than the proton. So you can have Lewis acids (electron pair acceptors) that have no protons at all. These tend to be electron deficient species such as the $BF_3$ in this figure below:
Other examples of Lewis acids include small, highly charged cations that can accept coordinate bonds.
Some molecules can accept protons by using electrons from unsaturated moeities rather than lone pairs. An alkene is a classic example, which can use the pi electrons in the double bond to accept a proton, forming a carbocation.
So an alkene could be described as a base, but we don't normally categorize it in that way.
It is also worth looking at the distinction between acid/base and electrophile/nucleophile. There are some good posts on this site like this one