A ship has sunk off the coast of Djibouti, leaving 109 dead and 116 missing, a United Nations agency has reported.