I haven't seen any posts about this, so I thought I'd post what I observed and how I fixed it in the hope this helps someone else.
My nRF51 DK (PCA10028 v1.1.0) out of the blue stopped accepting new programming. That is, I could see the JLink target, and the firmware already loaded on the nRF51422 was working, but I could not program any new firmware onto the chip because the JLink interface did not report the presence of the CPU:
Initially I was on JLink v4.92 so I upgraded to v4.98b from Segger's website to no avail. I also tried all of the other suggestions w.r.t. uninstalling drivers, reinstalling Keil, etc. which also were dead ends. Finally I scoped the two signals between the JLink interface and the NRF51422, via TP9 and TP10. The SWCLK signal looked OK:
And SWDIO looked OK-ish:
Finally I got fed up and used a pair of tweezers to short TP9 to ground (pull SWDIO/nRST low), which reset the part and suddenly everything started magically working again:
Hope this helps someone!