Some nutrients may not be soluble in water depending on their oxidative state. Also if there is no enough water the plants may not be able to take them up. Some plants need the mediation of bacteria and/or fungus to uptake nutrients. Finally the wrong proportion of nutrients will make the plant depleted even if there is a lot of others readily available
Carme has summed it up very nicely, in the end it does come down to solubility especially for macronutrients. Sometimes 'nutrient' ions can be prevented from being taken up by plants, for example, by the presence of some heavy metal ions, especially micronutrients. Also pH may not be optimum for the ion transport across the plant/soil interface (i.e. cell membranes, etc). If you have access to what is now an old book called 'Russell's Soil Conditions and Plant Growth', it has some excellent explanations for these problems.
If the pH of the soil is too low (e.g. < 4) or too high (e.g. > 9), some elements especially micro elements, are not soluble and can't be taken up by the plant root system. Moreover the soil type characterstics are very important to create the conditions for sulubility of micro and macro elements.
The above analyses have solved the question but i still want to add that some nutrients especially micronutrients are displaced by heavy metals in the roots of plants. This hereby prevent the uptake of such micronutrients by plants' roots. For instance, too much Cd in the rhizosphere of plants may substitute Zn and Mg uptake and get transported by the ZIP transporters in place of Zn since ZIP transporters are mostly expressed in the roots. Best regards
some nutrients make association with other elements and forms insoluble complex which plants can not directly uptake. These insoluble complexes needs to be solubilized or the bonding needs to be broken so as to uptake by the plants.